Evaluating the Impact of Thread Escape Analysis on a Memory Consistency Model-Aware Compiler

نویسندگان

  • David Chi-Leung Wong
  • Zehra Sura
  • Xing Fang
  • Kyungwoo Lee
  • Samuel P. Midkiff
  • Jaejin Lee
  • David A. Padua
چکیده

The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models, and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, delay set analysis, and synchronization analysis. In this paper, we evaluate the impact of different escape analysis algorithms on the effectiveness of the Pensieve system when both delay set analysis and synchronization analysis are used. Since both analyses make use of results of escape analyses, their precison and cost is dependent on the precision of the escape analysis algorithm. It is the goal of this paper to provide a quantitative evalution of this impact.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Implementation of Programming Language Consistency Models

Concurrent threads of execution running on a shared memory system can access the same memory locations. A consistency model defines constraints on the order of these shared memory accesses. For good run-time performance, these constraints must be as few as possible. Programmers who write explicitly parallel programs must take into account the consistency model when reasoning about the behavior ...

متن کامل

Compiling Multi-Threaded Object-Oriented Programs

A compiler must take special care when translating and transforming a multi-threaded program: The presence of synchronization operations and the potential of access conflicts have implications on register allocation and instruction scheduling. Moreover, a compiler might want to inhibit hardware assisted instruction reordering through memory fences, to enable a strong memory model on a platform ...

متن کامل

The Pensieve Project: A Compiler Infrastructure for Memory Models

The design of memory consistency models for both hardware and software is a difficult task. It is particularly difficult for a programming language because the target audience is much wider than the target audience for a machine language, making usability a more important criteria. Adding to this problem is the fact that the programming language community has little experience designing program...

متن کامل

Using Static and Dynamic Escape Analysis To Enable Model Reductions in Model-Checking Concurrent Object-Oriented Programs

This paper proposes several partial order reduction strategies for model-checking concurrent object-oriented software that are based on detecting heap objects that are thread-local, i.e., reachable from a single thread only. We show how thread-local information appropriate for driving these reductions can be obtained by static analysis (using adaptations of existing escape analyses). However, w...

متن کامل

Psychometric Properties of the Persian Word Pairs Task for Declarative Memory Assessment

Objective: According to the declarative/procedural model, the semantic aspect of language depends on the brain structures responsible for declarative memory. The word pairs task is a common tool for evaluating declarative memory. The current study aimed to design a valid and reliable task for evaluating declarative memory in Persian children at learning and retention stages and to investigate i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005